Лабораторная работа №11

Дисциплина: Администрирование сетевых подсистем

Ибрахим Мохсейн Алькамаль

Российский университет дружбы народов

2026-02-13

Цель работы

Цель работы

  • Приобретение практических навыков настройки удалённого доступа по SSH
  • Повышение безопасности доступа к серверу

Выполнение лабораторной работы

Запрет удалённого доступа по SSH для пользователя root

  • Выполнен вход с административными привилегиями
  • Задан пароль пользователю root (passwd root)
  • Получено предупреждение о длине пароля
  • Пароль успешно обновлён

Рисунок 1: Изменение пароля пользователя root с помощью passwd

  • С клиента выполнено ssh root@server.alkamal.net
  • Получена ошибка Permission denied
  • Доступ отклонён сервером

Рисунок 2: Отказ в аутентификации при SSH-подключении пользователя root

  • В sshd_config установлен PermitRootLogin no
  • Запрещён удалённый вход root

Рисунок 3: Параметр PermitRootLogin no в файле sshd_config

  • Выполнен перезапуск sshd
  • Повторная попытка входа завершилась ошибкой
  • Подтверждён запрет доступа root

Рисунок 4: Повторная ошибка SSH-аутентификации после запрета входа root

Ограничение списка пользователей для удалённого доступа по SSH

  • Выполнено подключение ssh alkamal@server.alkamal.net
  • Аутентификация прошла успешно

Рисунок 5: Успешное SSH-подключение пользователя alkamal к серверу

  • В sshd_config добавлена строка AllowUsers vagrant
  • Ограничен список разрешённых пользователей

Рисунок 6: Добавление директивы AllowUsers vagrant в sshd_config

  • Выполнен systemctl restart sshd
  • Применена новая конфигурация

Рисунок 7: Перезапуск службы sshd после изменения конфигурации

  • Повторное подключение alkamal завершилось ошибкой
  • Пользователь отсутствует в AllowUsers

Рисунок 8: Отказ в SSH-доступе пользователю alkamal после ограничения AllowUsers

  • Строка изменена на AllowUsers vagrant alkamal
  • Пользователь добавлен в разрешённый список

Рисунок 9: Расширение списка AllowUsers: vagrant alkamal

  • После перезапуска sshd подключение успешно
  • Подтверждён доступ alkamal

Рисунок 10: Успешное SSH-подключение после добавления пользователя в AllowUsers

Настройка дополнительных портов для удалённого доступа по SSH

  • В sshd_config добавлена строка Port 2022
  • Настроено прослушивание портов 22 и 2022

Рисунок 11: Добавление порта 2022 в конфигурацию sshd

  • После перезапуска зафиксирована ошибка привязки
  • Permission denied из-за SELinux
  • Служба работала на порту 22

Рисунок 12: Ошибка привязки к порту 2022 в статусе sshd

  • Выполнено semanage port -a -t ssh_port_t -p tcp 2022
  • Порт открыт в firewalld
  • Перезапущен sshd

Рисунок 13: Настройка SELinux и firewall для порта 2022

  • Проверка статуса показала прослушивание 22 и 2022
  • Подтверждена корректная настройка

Рисунок 14: sshd прослушивает порты 22 и 2022

  • Выполнено ssh -p2022 alkamal@server.alkamal.net
  • Аутентификация успешна
  • Выполнен вход и выход из системы

Рисунок 15: Успешное SSH-подключение через порт 2022

Настройка удалённого доступа по SSH по ключу

  • В sshd_config установлено PubkeyAuthentication yes
  • Разрешена аутентификация по ключу

Рисунок 16: Параметр PubkeyAuthentication yes в sshd_config

  • На клиенте выполнено ssh-keygen
  • Созданы id_rsa и id_rsa.pub

Рисунок 17: Генерация пары SSH-ключей командой ssh-keygen

  • Выполнено ssh-copy-id alkamal@server.alkamal.net
  • Ключ добавлен в authorized_keys

Рисунок 18: Копирование открытого ключа на сервер с помощью ssh-copy-id

  • Повторное подключение без запроса пароля
  • Подтверждена аутентификация по ключу

Рисунок 19: Успешная SSH-аутентификация по ключу без ввода пароля

Организация туннелей SSH, перенаправление TCP-портов

  • До туннеля отсутствовал порт 8080
  • Проверка lsof | grep TCP

Рисунок 20: Проверка активных TCP-соединений до создания SSH-туннеля

  • Выполнено ssh -fNL 8080:localhost:80 ...
  • Создан локальный туннель 8080 → 80
  • Процесс ssh прослушивает порт 8080
  • Установлено соединение ESTABLISHED

Рисунок 21: Прослушивание локального порта 8080 процессом ssh

  • В браузере открыт http://localhost:8080
  • Отображена страница сервера
  • Подтверждено корректное перенаправление

Рисунок 22: Доступ к веб-серверу через SSH-туннель на localhost:8080

Запуск консольных приложений через SSH

  • Выполнено ssh ... hostname
  • Получено имя узла сервера

Рисунок 23: Удалённое выполнение команды hostname через SSH

  • Выполнено ssh ... ls -Al
  • Получен список файлов каталога

Рисунок 24: Удалённый вывод списка файлов командой ls -Al

  • Выполнено ssh ... MAIL=~/Maildir/ mail
  • Отображены 4 почтовых сообщения

Рисунок 25: Удалённый просмотр почты через консольное приложение mail

Запуск графических приложений через SSH (X11Forwarding)

  • В sshd_config установлено X11Forwarding yes
  • Разрешена пересылка X11

Рисунок 26: Параметр X11Forwarding yes в sshd_config

  • Выполнено ssh -YC ... firefox
  • Включено X11-перенаправление и сжатие
  • Firefox запущен на сервере и отображён на клиенте

Рисунок 27: Запуск Firefox на сервере с отображением на клиенте через SSH X11Forwarding

Внесение изменений в настройки внутреннего

  • В /vagrant/provision/server создан каталог ssh/etc/ssh
  • Скопирован файл sshd_config

Рисунок 28: Копирование файла sshd_config в каталог provision/server/ssh

  • Создан скрипт ssh.sh
  • Реализовано копирование конфигурации
  • Выполнены restorecon, semanage, настройка firewall
  • Перезапущен sshd

Рисунок 29: Содержимое скрипта ssh.sh для автоматической настройки SSH

  • В Vagrantfile добавлен provision-блок shell
  • Указан путь provision/server/ssh.sh
  • Обеспечено автоматическое выполнение при запуске VM

Рисунок 30: Добавление provision-блока для ssh.sh в Vagrantfile

Выводы

Выводы

  • Запрещён удалённый вход пользователя root
  • Ограничен список пользователей через AllowUsers
  • Настроен альтернативный порт 2022 с учётом SELinux и firewall
  • Реализована аутентификация по ключу
  • Настроено SSH-туннелирование и перенаправление портов
  • Проверен запуск консольных и графических приложений
  • Конфигурация интегрирована в provisioning Vagrant
  • Обеспечена воспроизводимость и безопасность SSH-доступа